/**
 * 给你一个整数数组 nums 和一个整数 k ，请你返回子数组内所有元素的乘积严格小于 k 的连续子数组的数目。
 * https://leetcode.cn/problems/subarray-product-less-than-k/
 */
class NumSubarrayProductLessThanK {
    public int numSubarrayProductLessThanK(int[] nums, int k) {
        int sum=1;
        int len=nums.length;
        int ret=0;
        int j=0;
        for(int i=0;i<len;i++){
            sum*=nums[i];
            while(j<=i&&sum>=k){
                sum/=nums[j];
                j++;
            }
            ret+=(i-j+1);
        }
        return ret;
    }
    
}